Repository navigation
docs(operations): relay migration runbook + Cloudflare hosted-app deployment - #21
Merged
Merged
Conversation
…loyment The self-host relay runbook told operators to apply the relay SQL migrations without giving a procedure, and the external-database deploy path never applies them itself - a fresh fork relay 500s on every persistence call. Document the manual application with runner-compatible bookkeeping, add a runbook for deploying the hosted web app to Cloudflare Workers (build flags, custom domain, Clerk allowed_origins, Access pitfall), and check in the wrangler config it references. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The self-host material was split across runbooks without saying what order the pieces must be assembled in, and most of the failure modes only surface two steps after their cause. Add the ordering guide with the hard dependency chain (domains -> database+migrations -> Clerk -> relay -> baked client builds -> hosted app), per-step verification gates, and a symptom-to-cause index from a real first deployment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A fresh fork relay pointed at an external
DATABASE_*database returns HTTP 500 on every persistence call (environment_link_failed (replay_persistence_failed)) because the external-database deploy path never applies migrations — only the upstream managed-PlanetScale path has a runner — and the runbook said "apply the relay SQL migrations" without a procedure.self-host-relay.md: new Apply database migrations section with a psql loop that appliesinfra/relay/migrations/postgres/in order using runner-compatiblerelay_migrationsbookkeeping; Supabase step 4 now points at it.self-host-hosted-app.md: deploying the hosted web app (fork equivalent of app.t3.codes) to Cloudflare Workers — hosted build flags, assets-only Worker with SPA routing, custom-domain attachment, Clerkallowed_origins, and the Cloudflare Access pitfall.apps/web/wrangler.hosted.jsonc, the config the new runbook references (used for the liveapp.t3turbo.prodeployment).Both runbooks were exercised for real against the production fork infrastructure before writing.
Fable 5 via T3 Turbo (claudeAgent).
🤖 Generated with Claude Code